package com.example.baiguangsystem.service;

import com.example.baiguangsystem.entity.Book;
import com.example.baiguangsystem.entity.Section;
import com.example.baiguangsystem.vo.ResultType;
import lombok.NonNull;
import org.springframework.web.bind.annotation.PathVariable;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 书本service类
 *
 * @Author: 27641
 * @ProjectName: BaiGuangSystem
 * @Date: 2022/02/04/16:28
 * @noinspection SpellCheckingInspection
 */
public interface BookService {


    /**
     * 根据书本Id查找书本信息
     *
     * @param bookId 需要查找的书本Id
     * @return 查找结果
     */
    public Book findBookById(Integer bookId);

    /**
     * 根据书本名字查看书本信息
     *
     * @param bookName 需要查找的书本名字
     * @return 查找结果
     */
    public Book findBookByName(String bookName);

    /**
     * 下载指定章节
     *
     * @param section  需要下载的章节
     * @param response 响应对象
     * @return 下载结果
     */
    public boolean downloadSection(Section section, HttpServletResponse response);

    /**
     * 下载指定书本的全部章节
     *
     * @param list     所有章节信息
     * @param response 响应对象
     * @param bookId   下载章节所属的书本Id
     */
    public void downloadAllSection(@NonNull List<Section> list, HttpServletResponse response, Integer bookId);
}
